package conf

import (
	"os"

	"gitee.com/LangHuaHuachihua/blog-go/common"
	"gopkg.in/yaml.v3"
)

var config *Config

// 全局调用，此次做保护
func C() *Config {
	if config == nil {
		panic("config文件未加载")
	}
	return config
}

func LoadYamlConfig() (*Config, error) {
	configFile, err := os.ReadFile(common.ProjectDir() + "/etc/config.yaml")
	if err != nil {
		return &Config{}, err
	}
	//加载默认值
	c := DefaultConfig()
	err = yaml.Unmarshal(configFile, &c)
	if err != nil {
		return &Config{}, err
	}
	//值给全局变量
	config = c
	return c, nil
}
